package com.bt7274.pojo.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 促销活动视图 - 用于向前端展示的促销活动数据
 *
 * @author Galland
 * @since 2025-05-25
 */
@Data
public class PromotionVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private String id;

    /**
     * 活动类型
     */
    private String type;

    /**
     * 活动标题
     */
    private String title;

    /**
     * 活动规则
     */
    private String description;

    /**
     * 开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime startTime;

    /**
     * 结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime endTime;

    /**
     * 是否生效，0：false，1：true
     */
    private Integer isActive;

    /**
     * 活动状态：1-未开始，2-进行中，3-已结束
     */
    private String status;

    /*
     * 参与人数
     */
    private Long participantCount;

    /*
     * 关联促销策略信息
     */
    private String policyDisplayName;
    private Double uploadRatio;
    private Double downloadRatio;
}